string.h হেডার ফাইল এবং এর ফাংশনসমূহ

Computer Programming - সি স্ট্যান্ডার্ড লাইব্রেরি রেফারেন্স (C Standard Library Reference) String Handling Functions (স্ট্রিং হ্যান্ডলিং ফাংশনস) |
243
243

string.h হেডার ফাইল এবং এর ফাংশনসমূহ

string.h হেডার ফাইলটি সি প্রোগ্রামিং ভাষায় স্ট্রিং ম্যানিপুলেশন (String Manipulation) বা স্ট্রিং পরিচালনার জন্য ব্যবহৃত হয়। এটি বিভিন্ন ধরনের ফাংশন সরবরাহ করে, যা স্ট্রিং কপি করা, তুলনা করা, স্ট্রিংয়ের দৈর্ঘ্য নির্ধারণ, স্ট্রিং একত্রিত করা এবং অন্যান্য স্ট্রিং সংক্রান্ত কাজ সহজ করে তোলে। এখানে string.h হেডার ফাইলের কিছু গুরুত্বপূর্ণ ফাংশনের বিবরণ দেওয়া হলো।


১. strlen() – স্ট্রিংয়ের দৈর্ঘ্য নির্ণয়

strlen() ফাংশনটি একটি স্ট্রিংয়ের দৈর্ঘ্য নির্ণয় করতে ব্যবহৃত হয়। এটি স্ট্রিংয়ের মোট ক্যারেক্টারের সংখ্যা রিটার্ন করে (null চরিত্র ছাড়া)।

সিঙ্কট্যাক্স:

size_t strlen(const char *str);

উদাহরণ:

#include <stdio.h>
#include <string.h>

int main() {
    char text[] = "Hello, World!";
    printf("Length of text: %zu\n", strlen(text));  // %zu স্ট্যান্ডার্ড আউটপুট ফরম্যাট size_t-এর জন্য
    return 0;
}

২. strcpy() – স্ট্রিং কপি করা

strcpy() ফাংশনটি একটি স্ট্রিংকে অন্য স্ট্রিংয়ে কপি করতে ব্যবহৃত হয়। এটি সোর্স স্ট্রিং থেকে ডেস্টিনেশন স্ট্রিংয়ে কপি করে।

সিঙ্কট্যাক্স:

char *strcpy(char *dest, const char *src);

উদাহরণ:

#include <stdio.h>
#include <string.h>

int main() {
    char src[] = "Hello";
    char dest[20];
    strcpy(dest, src);
    printf("Copied string: %s\n", dest);
    return 0;
}

৩. strncpy() – নির্দিষ্ট সংখ্যক ক্যারেক্টার কপি করা

strncpy() ফাংশনটি সোর্স স্ট্রিং থেকে নির্দিষ্ট সংখ্যক ক্যারেক্টার ডেস্টিনেশন স্ট্রিংয়ে কপি করে। এটি স্ট্রিং কপি করার সময় কপি করার ক্যারেক্টারের সংখ্যা নির্ধারণের সুযোগ দেয়।

সিঙ্কট্যাক্স:

char *strncpy(char *dest, const char *src, size_t n);

উদাহরণ:

#include <stdio.h>
#include <string.h>

int main() {
    char src[] = "Hello, World!";
    char dest[20];
    strncpy(dest, src, 5);
    dest[5] = '\0';  // Null character যোগ করা, কারণ strncpy() সবসময় null যোগ করে না
    printf("Copied string: %s\n", dest);
    return 0;
}

৪. strcmp() – দুটি স্ট্রিং তুলনা করা

strcmp() ফাংশনটি দুটি স্ট্রিং তুলনা করার জন্য ব্যবহৃত হয়। যদি স্ট্রিংগুলো সমান হয়, তাহলে এটি ০ রিটার্ন করে। যদি তারা সমান না হয়, তবে এটি একটি ধনাত্মক বা ঋণাত্মক মান রিটার্ন করে।

সিঙ্কট্যাক্স:

int strcmp(const char *str1, const char *str2);

উদাহরণ:

#include <stdio.h>
#include <string.h>

int main() {
    char str1[] = "Hello";
    char str2[] = "World";
    
    if (strcmp(str1, str2) == 0) {
        printf("Strings are equal\n");
    } else {
        printf("Strings are not equal\n");
    }

    return 0;
}

৫. strncmp() – নির্দিষ্ট সংখ্যক ক্যারেক্টার তুলনা করা

strncmp() ফাংশনটি দুটি স্ট্রিংয়ের নির্দিষ্ট সংখ্যক ক্যারেক্টার তুলনা করার জন্য ব্যবহৃত হয়। এটি প্রথম n সংখ্যক ক্যারেক্টার তুলনা করে এবং তারপরে রিটার্ন করে।

সিঙ্কট্যাক্স:

int strncmp(const char *str1, const char *str2, size_t n);

উদাহরণ:

#include <stdio.h>
#include <string.h>

int main() {
    char str1[] = "Hello";
    char str2[] = "Helium";
    
    if (strncmp(str1, str2, 3) == 0) {
        printf("First three characters are equal\n");
    } else {
        printf("First three characters are not equal\n");
    }

    return 0;
}

৬. strcat() – দুটি স্ট্রিং একত্রিত করা

strcat() ফাংশনটি দুটি স্ট্রিংকে একত্রিত করতে ব্যবহৃত হয়। এটি সোর্স স্ট্রিংকে ডেস্টিনেশন স্ট্রিংয়ের শেষে যোগ করে।

সিঙ্কট্যাক্স:

char *strcat(char *dest, const char *src);

উদাহরণ:

#include <stdio.h>
#include <string.h>

int main() {
    char str1[20] = "Hello";
    char str2[] = ", World!";
    
    strcat(str1, str2);
    printf("Concatenated string: %s\n", str1);

    return 0;
}

৭. strncat() – নির্দিষ্ট সংখ্যক ক্যারেক্টার যোগ করা

strncat() ফাংশনটি সোর্স স্ট্রিং থেকে নির্দিষ্ট সংখ্যক ক্যারেক্টার ডেস্টিনেশন স্ট্রিংয়ের শেষে যোগ করে।

সিঙ্কট্যাক্স:

char *strncat(char *dest, const char *src, size_t n);

উদাহরণ:

#include <stdio.h>
#include <string.h>

int main() {
    char str1[20] = "Hello";
    char str2[] = "World";
    
    strncat(str1, str2, 3);  // "World" এর প্রথম 3 ক্যারেক্টার যোগ হবে
    printf("Concatenated string: %s\n", str1);

    return 0;
}

৮. strchr() – স্ট্রিংয়ের মধ্যে নির্দিষ্ট ক্যারেক্টার খুঁজে বের করা

strchr() ফাংশনটি স্ট্রিংয়ের মধ্যে একটি নির্দিষ্ট ক্যারেক্টারের প্রথম অবস্থান খুঁজে বের করে এবং সেই অবস্থানে একটি পয়েন্টার রিটার্ন করে।

সিঙ্কট্যাক্স:

char *strchr(const char *str, int character);

উদাহরণ:

#include <stdio.h>
#include <string.h>

int main() {
    char str[] = "Hello, World!";
    char *pos = strchr(str, 'W');
    
    if (pos != NULL) {
        printf("Character found at position: %ld\n", pos - str);
    } else {
        printf("Character not found.\n");
    }

    return 0;
}

৯. strstr() – সাবস্ট্রিং খুঁজে বের করা

strstr() ফাংশনটি স্ট্রিংয়ের মধ্যে একটি সাবস্ট্রিং খুঁজে বের করে এবং সেই সাবস্ট্রিংয়ের শুরুতে একটি পয়েন্টার রিটার্ন করে।

সিঙ্কট্যাক্স:

char *strstr(const char *str, const char *substr);

উদাহরণ:

#include <stdio.h>
#include <string.h>

int main() {
    char str[] = "Hello, World!";
    char *pos = strstr(str, "World");
    
    if (pos != NULL) {
        printf("Substring found at position: %ld\n", pos - str);
    } else {
        printf("Substring not found.\n");
    }

    return 0;
}

১০. strdup() – স্ট্রিং ডুপ্লিকেট করা (নতুন কপি তৈরি করা)

strdup() ফাংশনটি একটি স্ট্রিংয়ের নতুন কপি তৈরি করে এবং সেই কপি করা স্ট্রিংয়ের পয়েন্টার রিটার্ন করে। এটি ডাইনামিক মেমোরি বরাদ্দ করে স্ট্রিংয়ের কপি তৈরি করে, যা free() ব্যবহার করে মুক্ত করতে হয়।

সিঙ্কট্যাক্স:

char *strdup(const char *str);

উদাহরণ:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main() {
    char str[] = "Hello, World!";
    char *copy = strdup(str);
    
    if (copy != NULL) {
        printf("Copied string: %s\n", copy);
        free(copy);  // ডাইনামিক মেমোরি মুক্ত করা
    }

    return 0;
}

সারসংক্ষেপ

ফাংশনকাজউদাহরণ
strlen()স্ট্রিংয়ের দৈর্ঘ্য নির্ণয়strlen(str);
strcpy()স্ট্রিং কপি করাstrcpy(dest, src);
strncpy()নির্দিষ্ট সংখ্যক ক্যারেক্টার কপি করাstrncpy(dest, src, n);
strcmp()দুটি স্ট্রিং তুলনা করাstrcmp(str1, str2);
strncmp()নির্দিষ্ট সংখ্যক ক্যারেক্টার তুলনাstrncmp(str1, str2, n);
strcat()দুটি স্ট্রিং একত্রিত করাstrcat(dest, src);
strncat()নির্দিষ্ট সংখ্যক ক্যারেক্টার যোগ করাstrncat(dest, src, n);
strchr()স্ট্রিংয়ের মধ্যে ক্যারেক্টার খুঁজে বের করাstrchr(str, 'a');
strstr()স্ট্রিংয়ের মধ্যে সাবস্ট্রিং খুঁজে বের করাstrstr(str, "word");
strdup()স্ট্রিংয়ের কপি তৈরি করাchar *copy = strdup(str);

string.h হেডার ফাইলটি সি প্রোগ্রামিংয়ে স্ট্রিং ম্যানিপুলেশনের জন্য অপরিহার্য। এর মাধ্যমে প্রোগ্রামাররা সহজেই স্ট্রিং কপি, তুলনা, একত্রিতকরণ এবং অনুসন্ধান করতে পারেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion